我們在流程控制的時候我們時常會需要用到,所以我們需要去理解複合賦值和遞增遞減值,例如a+=2就是把a的值做加2存回到左邊的a,在舉例count=count+1也可以寫成count+=1,這其中我們便可省略的掉一個count,如果變數名稱比較長時,我們便可省去一些時間,那麼count+1跟count++有什麼差別呢,最大的差別是count+1之後是不會改變count本身的值的,count++是count+1之後在存回count,我們繼續討論遞增遞減值的運算,i++和++i的差別在哪,雖然他們都等於i=i+1,i++得到的是i++原本的值,++i得到的是i+1後的值,什麼叫算結果呢?下程式碼介紹他們的結果
int a=0;
int b;
b=a++;
b=++a;
第一行的b中結果是a=1 b=1,第二行中的b的結果是a=2 b=1
試著寫一方程式讓使用者分別輸入商品編號,輸入為0依照下方的售價表進行結算,顯示賣出總金額
1: 90
2: 75
3: 83
4: 89
5: 71
我們可用switch的概念下程式碼
#include <stdio.h>
int main(){
int total=0;
int id;
do{
scanf("%d",&id);
switch(id){
case 1: total+=90; break;
case 2: total+=75; break;
case 3: total+=83; break;
case 4: total+=89; break;
case 5: total+=71; break;
}
}while(id!=0);
printf("Total: %d\n", total);
return 0;
}
上面的程式碼,我們先假設兩個變數,一個total和id,由於id可以輸入好幾次,scanf我們至少會輸入一次,我們可以使用do while來包switch,我們一直讀id直到id=0的時候,我們就照著上面的表格1號是多少依此類推,case1接下來case2接下來case3...等等,記得要加break,最後直到輸入0為止,最後將total總額印出來即可